// 引入Vuex
import Vue from 'vue'
import Vuex from 'vuex'
// 安装
Vue.use(Vuex)

const store =new Vuex.Store({
	state:{//存储状态的
		// 自定义共享状态
		count:0,
		stu:[
			{id:1001,name:"123"},
			{id:1003,name:"福鼠"},
			{id:1004,name:"追梦"},
		],
		user:{
			name:'随便',
			sex:"随机"
		}
	},
	// Vuex中的Store状态（state）更新的唯一方式：提交Mutation
	mutations:{ //定义mutations
		add(state){ //第一个参数就是state
			// this是store对象
			// console.log(this)
			
			state.count++
		},
		// state(store中的state),(Payload:提交方法携带的参数)
		addTen(state,ten){ //+10
			state.count +=ten
		},
		addTwo(state,obj){ //+2
			state.count +=obj.two
		},
		// 向stu数组中添加一条数据
		addStu(state,payload){
			state.stu.push(payload) //向数组中添加一条数据
		},
		updUser(state,age){ //给stu对象添加新属性
			// state.user.age="18";
			// state.user = { ...state.user, "age": 12 }
			Vue.set(state.user, 'age', 123)
		}
		
	}
})

export default store